As with any emerging technology, disparate implementations naturally occur, even when innovators attempt to follow defined standards. In the case of communication technology, success is highly dependent on the ability of a very large percentage of potential users to interact with each other. The traditional telephony network is a perfect example. Due to a set of global compatible network interface standards, and the inherent nature of the network implementation, the vast majority of telephony users can communicate with each other. However, individual communication clients that work on one system may or may not work directly on other systems. This is true for both wireline and wireless systems. Some of the unique characteristics for communication clients include physical interfaces, electrical interfaces, and radio interfaces, as well as respective protocols. A problem of enabling the interworking of these disparate communication clients is generally solved by interworking at the network level between systems, and not between the communication clients themselves. Such interworking is facilitated by the circuit-centric nature of the traditional telephony network, where clients are directly attached to their supporting systems, and each system only needs to interact with peer systems, not directly with the individual clients of other systems.
For Internet-based and related Internet Protocol (IP)-centric networks, the basic nature of the network is one where any single communication client can potentially interact directly with other individual communication clients. To complicate matters, for the sake of privacy and the prevention of intrusive or otherwise disruptive forces, additional network elements such as firewalls and network address translation devices impede the ability of communication clients to interact with one another and with other systems. Internet communications protocol standards are evolving to help maximize interoperability between a vast number of communication clients. Unfortunately, using standardized protocols will never fully address interoperability issues required by special and emerging functionalities. Further, the protocol standards tend to lag behind initial implementations of new and emerging functionality and technology. The result is an Internet architecture where many communication clients can interact with one another for a given set of basic functionalities, but cannot interoperate to effect unique, new, or emerging functionalities. Since typically only the creator of a specific communication client can modify that client, the end result is a proliferation of unique communication clients, which support only limited interoperability with many other communication clients.
Since it is generally commercially unfeasible to customize individual communication clients as well as engineer such flexibility in a cost-effective manner for widespread communication applications, there is a need for a technology capable of supplementing communication clients to increase or otherwise enhance interoperability with similar, yet disparate, communication clients. This technology should effectively extend the capabilities of associated communication clients to allow them to provide desirable features and support features necessary to interwork with other communication clients, as well as assist in navigating intermediate systems, and network devices such as firewalls and network address translation devices.